package main

import (
	"fmt"
	"time"
)

// func main() {
// 	ch1 := make(chan int, 3)
// 	ch2 := make(chan string, 3)

// 	ch1 <- 1
// 	ch2 <- "wxweven"

// 	select {
// 	case a := <-ch1:
// 		fmt.Println(a)
// 	case b := <-ch2:
// 		fmt.Println(b)
// 	default:
// 		fmt.Println("default")
// 	}
// }

// for 循环读取数据，程序不结束运行
func main() {

	//ch := make(chan int)
	//
	//for i := 0; i < 10; i++ {
	//	go func(j int) {
	//		fmt.Println(j)
	//	}(i)
	//}
	//
	//for {
	//	select {
	//	case x := <-ch:
	//		fmt.Println(x)
	//
	//	// 这个空的defaul必须要加，不加就会报错
	//	default:
	//
	//	}

	//}

	ch1 := make(chan int)
	ch2 := make(chan string)

	go write1(ch1)
	go write2(ch2)

	select {
	case i1 := <- ch1:
		fmt.Println("ch1 get ", i1)
	case str := <-ch2:
		fmt.Println("ch2 get ", str)
	}
}

func write1(c chan int) {
	time.Sleep(time.Second * 2)
	c <- 10
}

func write2(c chan string) {
	time.Sleep(time.Second * 2)
	c <- "hello"
}
